home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / short27.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  30.8 KB  |  1,099 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "short.h"
  9. void r788short(T788* C){
  10. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291));
  11. /*[IRF3.6short_hook*/{T788* C1=C;
  12. r580a_class_name(((T580*)(oBC364short_print)),(((T788*)C1))->_base_class_name/*4*/);
  13. }/*]*/
  14. r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291));
  15. }
  16. int r788has_creation(T788* C,T0* a1){
  17. int R=0;
  18. r683add_position(X776start_position(a1));
  19. r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
  20. return R;
  21. }
  22. /*No:TYPE_INTEGER.is_anchored*/
  23. /*No:TYPE_INTEGER.us_integer*/
  24. /*No:TYPE_INTEGER.is_array*/
  25. int r788is_a(T788* C,T0* a1){
  26. int R=0;
  27. /*IF*/if (((X291is_integer(a1))||(X291is_double(a1)))||(X291is_real(a1))) {
  28. R=1;
  29. }
  30. else {
  31. R=r605is_subclass_of(((T605*)(r788base_class(C))),X291base_class(a1));
  32. /*IF*/if (R) {
  33. r788used_as_reference();
  34. }
  35. /*FI*/}
  36. /*FI*//*IF*/if (!(R)) {
  37. r683add_type((T0*)C,((T0*)ms71_470));
  38. r683add_type(a1,((T0*)ms67_470));
  39. }
  40. /*FI*/return R;
  41. }
  42. /*No:TYPE_INTEGER.run_type*/
  43. /*No:TYPE_INTEGER.is_pointer*/
  44. /*No:TYPE_INTEGER.is_string*/
  45. /*No:TYPE_INTEGER.is_like_feature*/
  46. /*No:TYPE_INTEGER.is_like_current*/
  47. void r788make(T788* C,T0* a1){
  48. {T451*n=malloc(sizeof(*n));
  49. *n=M451;
  50. r451make(n,((T0*)ms15_473),a1);
  51. C->_base_class_name=(T0*)n;
  52. }
  53. }
  54. /*No:TYPE_INTEGER.nb_errors*/
  55. /*No:TYPE_INTEGER.us_item*/
  56. void r788load_ref(T0* a1){
  57. T0* _rf=NULL;
  58. T0* _rc=NULL;
  59. T0* _cn=NULL;
  60. {T451*n=malloc(sizeof(*n));
  61. *n=M451;
  62. r451make(n,a1,NULL);
  63. _cn=(T0*)n;
  64. }
  65. _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
  66. r368set_at_run_time(((T368*)_rc));
  67. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms86_473));
  68. }
  69. int fBC364type_integer_ref=0;
  70. T0*oBC364type_integer_ref=NULL;
  71. T0* r788type_integer_ref(void){
  72. if (fBC364type_integer_ref==0){
  73. T0* R=NULL;
  74. T0* _integer_ref=NULL;
  75. fBC364type_integer_ref=1;
  76. {T451*n=malloc(sizeof(*n));
  77. *n=M451;
  78. r451make(n,((T0*)ms16_473),NULL);
  79. _integer_ref=(T0*)n;
  80. }
  81. {T657*n=malloc(sizeof(*n));
  82. *n=M657;
  83. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_integer_ref);
  84. /*]*/
  85. R=(T0*)n;
  86. }
  87. oBC364type_integer_ref=R;}
  88. return oBC364type_integer_ref;}
  89. int fBC788check_type=0;
  90. void r788check_type(T788* C){
  91. if (fBC788check_type==0){
  92. T0* _rc=NULL;
  93. T0* _bc=NULL;
  94. fBC788check_type=1;
  95. _bc=r788base_class(C);
  96. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  97. _rc=r788run_class(C);
  98. }
  99. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  100. /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
  101. r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_788));
  102. }
  103. /*FI*/}
  104. /*FI*/}}
  105. /*No:TYPE_INTEGER.start_position*/
  106. /*No:TYPE_INTEGER.fz_inako*/
  107. /*No:TYPE_INTEGER.is_character*/
  108. T0* r788written_mark(void){
  109. T0* R=NULL;
  110. R=((T0*)ms15_473);
  111. return R;
  112. }
  113. /*No:TYPE_INTEGER.is_run_type*/
  114. T0* r788to_runnable(T788* C,T0* a1){
  115. T0* R=NULL;
  116. R=(T0*)C;
  117. r788check_type(C);
  118. return R;
  119. }
  120. T0* r788generic_list(T788* C){
  121. T0* R=NULL;
  122. r788fatal_error_generic_list(C);
  123. return R;
  124. }
  125. /*No:TYPE_INTEGER.is_formal_generic*/
  126. /*No:TYPE_INTEGER.is_real*/
  127. /*No:TYPE_INTEGER.us_integer_ref*/
  128. /*No:TYPE_INTEGER.is_bit*/
  129. void r788fatal_error_generic_list(T788* C){
  130. r683add_type((T0*)C,((T0*)ms12_291));
  131. r683print_as_fatal_error(((T683*)(oBC364eh)));
  132. }
  133. T0* r788smallest_ancestor(T788* C,T0* a1){
  134. T0* R=NULL;
  135. T0* _rto=NULL;
  136. _rto=X291run_type(a1);
  137. /*IF*/if (X291is_integer(_rto)) {
  138. R=(T0*)C;
  139. }
  140.  else if (X291is_real(_rto)) {
  141. R=a1;
  142. }
  143.  else if (X291is_double(_rto)) {
  144. R=a1;
  145. }
  146. else {
  147. R=r657smallest_ancestor(((T657*)(r788type_integer_ref())),_rto);
  148. }
  149. /*FI*/return R;
  150. }
  151. /*No:TYPE_INTEGER.is_boolean*/
  152. /*No:TYPE_INTEGER.is_double*/
  153. T0* r788run_class(T788* C){
  154. T0* R=NULL;
  155. R=r604run_class((T0*)C);
  156. return R;
  157. }
  158. T0* r788run_time_mark(void){
  159. T0* R=NULL;
  160. R=((T0*)ms15_473);
  161. return R;
  162. }
  163. int r788is_a_in(T788* C,T0* a1,T0* a2){
  164. int R=0;
  165. T0* _ct=NULL;
  166. T0* _t2=NULL;
  167. T0* _t1=NULL;
  168. /*IF*/if ((r788written_mark())==((void*)(X291written_mark(a1)))) {
  169. R=1;
  170. }
  171. else {
  172. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  173. _t1=r788to_runnable(C,_ct);
  174. _t2=X291to_runnable(a1,_ct);
  175. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  176. R=1;
  177. }
  178. else {
  179. R=X291is_a(_t1,_t2);
  180. }
  181. /*FI*/}
  182. /*FI*/return R;
  183. }
  184. T0* r788look_up_for(T788* C,T0* a1,T0* a2){
  185. T0* R=NULL;
  186. R=r605look_up_for(((T605*)(r788base_class(C))),a1,a2);
  187. return R;
  188. }
  189. /*No:TYPE_INTEGER.expanded_initializer*/
  190. /*No:TYPE_INTEGER.fz_dot*/
  191. /*No:TYPE_INTEGER.is_generic*/
  192. int fBC788used_as_reference=0;
  193. void r788used_as_reference(void){
  194. if (fBC788used_as_reference==0){
  195. fBC788used_as_reference=1;
  196. r788load_ref(((T0*)ms16_473));
  197. }}
  198. /*No:TYPE_INTEGER.is_reference*/
  199. void r788error(T0* a1,T0* a2){
  200. r683add_position(a1);
  201. r683error(((T683*)(oBC364eh)),a2);
  202. }
  203. T0* r788base_class(T788* C){
  204. T0* R=NULL;
  205. T0* _bcn=NULL;
  206. _bcn=(((T788*)C))->_base_class_name/*4*/;
  207. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  208. R=r451base_class(((T451*)_bcn));
  209. }
  210. else {
  211. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  212. r7append(((T7*)(oBC683explanation)),b1);
  213. }/*]*/
  214. r683add_type((T0*)C,((T0*)ms67_470));
  215. r683print_as_fatal_error(((T683*)(oBC364eh)));
  216. }
  217. /*FI*/return R;
  218. }
  219. /*No:TYPE_INTEGER.short_hook*/
  220. /*No:TYPE_INTEGER.is_any*/
  221. /*No:TYPE_INTEGER.base_class_name*/
  222. /*No:TYPE_INTEGER.is_expanded*/
  223. /*No:TYPE_INTEGER.is_basic_eiffel_expanded*/
  224. /*No:TYPE_INTEGER.is_none*/
  225. /*No:TYPE_INTEGER.is_integer*/
  226. /*No:PROC_CALL_1.arguments*/
  227. T0* r317add_comment(T317* C,T0* a1){
  228. T0* R=NULL;
  229. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  230. R=(T0*)C;
  231. }
  232. /*AF*/else {
  233. {T59*n=malloc(sizeof(*n));
  234. *n=M59;
  235. r59make(n,(T0*)C,a1);
  236. R=(T0*)n;
  237. }
  238. }
  239. /*FI*/return R;
  240. }
  241. void r317make(T317* C,T0* a1,T0* a2,T0* a3){
  242. C->_target=a1;
  243. C->_feature_name=a2;
  244. C->_arguments=a3;
  245. }
  246. /*No:PROC_CALL_1.nb_errors*/
  247. /*No:PROC_CALL_1.feature_name*/
  248. /*No:PROC_CALL_1.arg_count*/
  249. /*No:PROC_CALL_1.run_feature*/
  250. /*No:PROC_CALL_1.set_run_compound*/
  251. T0* r317start_position(T317* C){
  252. T0* R=NULL;
  253. R=X776start_position((((T317*)C))->_feature_name/*12*/);
  254. return R;
  255. }
  256. /*No:PROC_CALL_1.target*/
  257. /*No:PROC_CALL_1.set_run_feature*/
  258. T0* r317to_runnable(T317* C,T0* a1){
  259. T0* R=NULL;
  260. T0* _a=NULL;
  261. /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  262. r317to_runnable_0(C,a1);
  263. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  264. _a=r431to_runnable(((T431*)((((T317*)C))->_arguments/*20*/)),r317current_type(C));
  265. /*IF*/if ((_a)==((void*)(NULL))) {
  266. r317error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T317*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  267. }
  268. else {
  269. C->_arguments=_a;
  270. }
  271. /*FI*/}
  272. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  273. r431match_with(((T431*)((((T317*)C))->_arguments/*20*/)),(((T317*)C))->_run_feature/*16*/);
  274. }
  275. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  276. R=(T0*)C;
  277. }
  278. /*FI*/}
  279. else {
  280. {T317*n=malloc(sizeof(*n));
  281. *n=M317;
  282. r317make(n,(((T317*)C))->_target/*8*/,(((T317*)C))->_feature_name/*12*/,(((T317*)C))->_arguments/*20*/);
  283. R=(T0*)n;
  284. }
  285. R=r317to_runnable(((T317*)R),a1);
  286. }
  287. /*FI*/return R;
  288. }
  289. T0* r317current_type(T317* C){
  290. T0* R=NULL;
  291. /*IF*/if (((((T317*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  292. R=(((T592*)((T592*)((((T317*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  293. }
  294. /*FI*/return R;
  295. }
  296. /*No:PROC_CALL_1.run_compound*/
  297. void r317to_runnable_0(T317* C,T0* a1){
  298. C->_run_compound=a1;
  299. r317cpc_to_runnable(C,r317current_type(C));
  300. /*IF*/if ((/*X496*/((T0*)(((T808*)((T808*)((((T317*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
  301. r683add_position(X496start_position((((T317*)C))->_run_feature/*16*/));
  302. r317error(X776start_position((((T317*)C))->_feature_name/*12*/),((T0*)ms1_173));
  303. }
  304. /*FI*/}
  305. void r317cpc_to_runnable(T317* C,T0* a1){
  306. T0* _rc=NULL;
  307. T0* _t=NULL;
  308. _t=X662to_runnable((((T317*)C))->_target/*8*/,a1);
  309. /*IF*/if ((_t)==((void*)(NULL))) {
  310. r683add_position(X662start_position((((T317*)C))->_target/*8*/));
  311. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  312. r683fatal_error(((T683*)(oBC364eh)),b1);
  313. }/*]*/
  314. }
  315. /*FI*/C->_target=_t;
  316. _rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/));
  317. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  318. r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/);
  319. }
  320. void r317error(T0* a1,T0* a2){
  321. r683add_position(a1);
  322. r683error(((T683*)(oBC364eh)),a2);
  323. }
  324. /*No:PROC_CALL_1.fatal_error*/
  325. /*No:PROC_CALL_1.fz_bad_argument*/
  326. /*No:PROC_CALL_1.arg1*/
  327. /*No:PROC_CALL_1.end_mark_comment*/
  328. T0* r317make_runnable(T317* C,T0* a1,T0* a2,T0* a3,T0* a4){
  329. T0* R=NULL;
  330. /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  331. R=(T0*)C;
  332. r317make(((T317*)R),a2,(((T317*)C))->_feature_name/*12*/,a3);
  333. C->_run_compound=a1;
  334. C->_run_feature=a4;
  335. }
  336. else {
  337. {T317*n=malloc(sizeof(*n));
  338. *n=M317;
  339. r317make(n,a2,(((T317*)C))->_feature_name/*12*/,a3);
  340. R=(T0*)n;
  341. }
  342. /*[IRF3.3set_run_compound*/((((T317*)(((T317*)R))))->_run_compound)=(a1);
  343. /*]*/
  344. /*[IRF3.3set_run_feature*/((((T317*)(((T317*)R))))->_run_feature)=(a4);
  345. /*]*/
  346. }
  347. /*FI*/return R;
  348. }
  349. void r23short(T23* C){
  350. char _c=0;
  351. int _i=0;
  352. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_361));
  353. _i=1;
  354. while (!((_i)>((((T7*)((T7*)((((T23*)C))->_to_string/*8*/))))->_count/*4*/))) {
  355. _c=/*(IRF4.6item*/((((T7*)((T7*)((((T23*)C))->_to_string/*8*/))))->_storage/*0*/)[(_i)-(1)]/*)*/;
  356. /*IF*/if ((_c)==('\137')) {
  357. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_361),((T0*)ms3_361));
  358. }
  359. else {
  360. /*[IRF3.6a_character*/{char b1=_c;
  361. /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output));
  362. char c1=b1;
  363. putc(c1,((FILE*)(stdout)));
  364. }/*]*/
  365. }/*]*/
  366. }
  367. /*FI*/_i=(_i)+(1);
  368. }
  369. r580hook(((T580*)(oBC364short_print)),((T0*)ms4_361));
  370. }
  371. T0* r23add_comment(T23* C,T0* a1){
  372. T0* R=NULL;
  373. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  374. R=(T0*)C;
  375. }
  376. else {
  377. {T529*n=malloc(sizeof(*n));
  378. *n=M529;
  379. r529make(n,(T0*)C,a1);
  380. R=(T0*)n;
  381. }
  382. }
  383. /*FI*/return R;
  384. }
  385. int r23to_integer(T23* C){
  386. int R=0;
  387. r23error((((T23*)C))->_start_position/*12*/,((T0*)ms69_470));
  388. return R;
  389. }
  390. void r23bracketed_short(T23* C){
  391. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  392. r23short(C);
  393. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  394. }
  395. int r23is_a(T23* C,T0* a1){
  396. int R=0;
  397. R=X291is_a(X291run_type((((T23*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  398. /*IF*/if (!(R)) {
  399. r683add_position((((T23*)C))->_start_position/*12*/);
  400. r23error(X662start_position(a1),((T0*)ms4_662));
  401. }
  402. /*FI*/return R;
  403. }
  404. /*No:LOCAL_NAME2.is_current*/
  405. /*No:LOCAL_NAME2.to_string*/
  406. /*No:LOCAL_NAME2.fz_iinaiv*/
  407. /*No:LOCAL_NAME2.set_result_type*/
  408. /*No:LOCAL_NAME2.start_position*/
  409. /*No:LOCAL_NAME2.precedence*/
  410. T0* r23to_runnable(T23* C,T0* a1){
  411. T0* R=NULL;
  412. T0* _rt=NULL;
  413. T0* _declaration_name=NULL;
  414. T0* _lvl=NULL;
  415. T0* _rf=NULL;
  416. _rf=r604top_rf(((T604*)(oBC364small_eiffel)));
  417. _lvl=X496local_vars(_rf);
  418. _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)_lvl)))->_flat_list/*12*/)),(((T23*)C))->_rank/*16*/)/*)*/;
  419. /*[IRF3.3set_is_used*/((((T39*)(((T39*)_declaration_name))))->_is_used)=(1);
  420. /*]*/
  421. _rt=r620type(((T620*)_lvl),(((T23*)C))->_rank/*16*/);
  422. /*IF*/if (((((T23*)C))->_current_type/*4*/)==((void*)(NULL))) {
  423. C->_current_type=a1;
  424. C->_result_type=_rt;
  425. R=(T0*)C;
  426. }
  427. else {
  428. {T23*n=malloc(sizeof(*n));
  429. *n=M23;
  430. r23make_runnable(n,(T0*)C,a1,_rt);
  431. R=(T0*)n;
  432. }
  433. }
  434. /*FI*/return R;
  435. }
  436. /*No:LOCAL_NAME2.set_rank*/
  437. /*No:LOCAL_NAME2.rank*/
  438. /*No:LOCAL_NAME2.result_type*/
  439. /*No:LOCAL_NAME2.atomic_precedence*/
  440. /*No:LOCAL_NAME2.current_type*/
  441. /*No:LOCAL_NAME2.is_manifest_string*/
  442. void r23refer_to(T23* C,T0* a1,T0* a2,int a3){
  443. T0* _declaration_name=NULL;
  444. C->_start_position=a1;
  445. C->_rank=a3;
  446. _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)a2)))->_flat_list/*12*/)),a3)/*)*/;
  447. C->_to_string=(((T39*)((T39*)_declaration_name)))->_to_string/*8*/;
  448. C->_result_type=(((T39*)((T39*)_declaration_name)))->_result_type/*20*/;
  449. }
  450. /*No:LOCAL_NAME2.is_void*/
  451. void r23error(T0* a1,T0* a2){
  452. r683add_position(a1);
  453. r683error(((T683*)(oBC364eh)),a2);
  454. }
  455. void r23short_target(T23* C){
  456. r23short(C);
  457. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  458. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  459. }/*]*/
  460. }
  461. void r23make_runnable(T23* C,T0* a1,T0* a2,T0* a3){
  462. *((T23*)(C))=*((T23*)(a1));
  463. C->_current_type=a2;
  464. C->_result_type=a3;
  465. }
  466. void r487short(T487* C){
  467. X662short_target((((T487*)C))->_target/*8*/);
  468. X776short((((T487*)C))->_feature_name/*12*/);
  469. }
  470. T0* r487add_comment(T487* C,T0* a1){
  471. T0* R=NULL;
  472. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  473. R=(T0*)C;
  474. }
  475. else {
  476. {T529*n=malloc(sizeof(*n));
  477. *n=M529;
  478. r529make(n,(T0*)C,a1);
  479. R=(T0*)n;
  480. }
  481. }
  482. /*FI*/return R;
  483. }
  484. int r487to_integer(T487* C){
  485. int R=0;
  486. T0* _rf1=NULL;
  487. _rf1=(((T487*)C))->_run_feature/*16*/;
  488. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  489. case 808: 
  490. break;
  491. default:
  492. _rf1=NULL;
  493. };/*IF*/if ((_rf1)==((void*)(NULL))) {
  494. r487error(r487start_position(C),((T0*)ms69_470));
  495. }
  496. else {
  497. R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*44*/);
  498. }
  499. /*FI*/return R;
  500. }
  501. void r487bracketed_short(T487* C){
  502. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  503. r487short(C);
  504. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  505. }
  506. int r487is_a(T487* C,T0* a1){
  507. int R=0;
  508. R=X291is_a(X291run_type((((T487*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  509. /*IF*/if (!(R)) {
  510. r683add_position(r487start_position(C));
  511. r487error(X662start_position(a1),((T0*)ms4_662));
  512. }
  513. /*FI*/return R;
  514. }
  515. /*No:CALL_0_C.is_current*/
  516. void r487make(T487* C,T0* a1,T0* a2){
  517. C->_target=a1;
  518. C->_feature_name=a2;
  519. }
  520. /*No:CALL_0_C.nb_errors*/
  521. /*No:CALL_0_C.feature_name*/
  522. /*No:CALL_0_C.fz_iinaiv*/
  523. /*No:CALL_0_C.dot_precedence*/
  524. /*No:CALL_0_C.run_feature*/
  525. T0* r487start_position(T487* C){
  526. T0* R=NULL;
  527. R=X776start_position((((T487*)C))->_feature_name/*12*/);
  528. return R;
  529. }
  530. /*No:CALL_0_C.target*/
  531. /*No:CALL_0_C.precedence*/
  532. T0* r487to_runnable(T487* C,T0* a1){
  533. T0* R=NULL;
  534. /*IF*/if (((((T487*)C))->_current_type/*4*/)==((void*)(NULL))) {
  535. r487to_runnable_0(C,a1);
  536. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T487*)C))->_run_feature/*16*/))>(0))) {
  537. r683add_position(X776start_position((((T487*)C))->_feature_name/*12*/));
  538. r487error(X496start_position((((T487*)C))->_run_feature/*16*/),((T0*)ms1_752));
  539. }
  540. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  541. R=(T0*)C;
  542. }
  543. /*FI*/}
  544. else {
  545. R=r487twin(C);
  546. /*[IRF3.3set_current_type*/((((T487*)(((T487*)R))))->_current_type)=(NULL);
  547. /*]*/
  548. R=r487to_runnable(((T487*)R),a1);
  549. }
  550. /*FI*/return R;
  551. }
  552. /*No:CALL_0_C.result_type*/
  553. T0* r487twin(T487* C){
  554. T0* R=NULL;
  555. R=malloc(sizeof(*C));
  556. *((T487*)R)=*C;
  557. return R;
  558. }
  559. /*No:CALL_0_C.set_current_type*/
  560. /*No:CALL_0_C.current_type*/
  561. /*No:CALL_0_C.is_manifest_string*/
  562. /*No:CALL_0_C.is_void*/
  563. void r487to_runnable_0(T487* C,T0* a1){
  564. C->_current_type=a1;
  565. r487cpc_to_runnable(C,a1);
  566. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T487*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  567. /*IF*/if (((((T487*)C))->_result_type/*20*/)==((void*)(NULL))) {
  568. r683add_position(X496start_position((((T487*)C))->_run_feature/*16*/));
  569. r487error(X776start_position((((T487*)C))->_feature_name/*12*/),((T0*)ms1_295));
  570. }
  571.  else if (X291is_like_current((((T487*)C))->_result_type/*20*/)) {
  572. C->_result_type=X662result_type((((T487*)C))->_target/*8*/);
  573. }
  574. /*FI*/}
  575. void r487cpc_to_runnable(T487* C,T0* a1){
  576. T0* _rc=NULL;
  577. T0* _t=NULL;
  578. _t=X662to_runnable((((T487*)C))->_target/*8*/,a1);
  579. /*IF*/if ((_t)==((void*)(NULL))) {
  580. r683add_position(X662start_position((((T487*)C))->_target/*8*/));
  581. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  582. r683fatal_error(((T683*)(oBC364eh)),b1);
  583. }/*]*/
  584. }
  585. /*FI*/C->_target=_t;
  586. _rc=X291run_class(X662result_type((((T487*)C))->_target/*8*/));
  587. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  588. r576update((((T487*)C))->_target/*8*/,(((T487*)C))->_run_feature/*16*/);
  589. }
  590. void r487error(T0* a1,T0* a2){
  591. r683add_position(a1);
  592. r683error(((T683*)(oBC364eh)),a2);
  593. }
  594. /*No:CALL_0_C.fatal_error*/
  595. void r487short_target(T487* C){
  596. r487short(C);
  597. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  598. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  599. }/*]*/
  600. }
  601. int r583short(T583* C,int a1){
  602. int R=0;
  603. /*IF*/if (r636gives_permission_to_any(((T636*)((((T583*)C))->_clients/*4*/)))) {
  604. /*IF*/if (!(a1)) {
  605. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_583),((T0*)ms3_583));
  606. }
  607. /*FI*/r953short_for_creation(((T953*)((((T583*)C))->_procedure_list/*12*/)));
  608. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms4_583),((T0*)ms5_583));
  609. R=1;
  610. }
  611. else {
  612. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  613. /*]*/
  614. r51clear(((T51*)(oBC683positions)));
  615. /*]*/
  616. }
  617. /*FI*/return R;
  618. }
  619. void r583make(T583* C,T0* a1,T0* a2,T0* a3,T0* a4){
  620. C->_start_position=a1;
  621. C->_clients=a2;
  622. C->_comment=a3;
  623. /*IF*/if ((a4)!=((void*)(NULL))) {
  624. {T953*n=malloc(sizeof(*n));
  625. *n=M953;
  626. r953make(n,a4);
  627. C->_procedure_list=(T0*)n;
  628. }
  629. }
  630. /*FI*/}
  631. /*No:CREATION_CLAUSE.start_position*/
  632. void r583check_expanded_with(T583* C,T0* a1){
  633. T0* _rc=NULL;
  634. T0* _rf3=NULL;
  635. T0* _rf=NULL;
  636. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)==((void*)(NULL))) {
  637. r683add_position((((T583*)C))->_start_position/*0*/);
  638. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_583);
  639. r683fatal_error(((T683*)(oBC364eh)),b1);
  640. }/*]*/
  641. }
  642. /*FI*//*IF*/if ((/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/))))->_upper/*8*//*)*/)>(1)) {
  643. r683add_type(a1,((T0*)ms65_470));
  644. r683add_position((((T583*)C))->_start_position/*0*/);
  645. /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
  646. r683fatal_error(((T683*)(oBC364eh)),b1);
  647. }/*]*/
  648. /*]*/
  649. }
  650. /*FI*/_rc=X291run_class(a1);
  651. _rf=r368get_feature(((T368*)_rc),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
  652. /*IF*/if ((_rf)==((void*)(NULL))) {
  653. r683add_position((((T583*)C))->_start_position/*0*/);
  654. /*[IRF3.6append*/{T0* b1=((T0*)ms7_583);
  655. r7append(((T7*)(oBC683explanation)),b1);
  656. }/*]*/
  657. r683add_type(a1,((T0*)ms8_583));
  658. r683print_as_fatal_error(((T683*)(oBC364eh)));
  659. }
  660. /*FI*/_rf3=_rf;
  661. if(NULL!=(_rf3))switch(((T0*)_rf3)->id) {
  662. case 845: 
  663. break;
  664. default:
  665. _rf3=NULL;
  666. };/*IF*/if ((_rf3)==((void*)(NULL))) {
  667. r683add_position((((T583*)C))->_start_position/*0*/);
  668. r683add_position(X496start_position(_rf));
  669. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_583);
  670. r683fatal_error(((T683*)(oBC364eh)),b1);
  671. }/*]*/
  672. }
  673. /*FI*//*IF*/if ((r845arg_count(((T845*)_rf3)))>(0)) {
  674. r683add_type(a1,((T0*)ms65_470));
  675. r683add_position((((T583*)C))->_start_position/*0*/);
  676. r683add_position(/*(IRF4.6start_position*/r297start_position(((T297*)((((T845*)((T845*)_rf3)))->_base_feature/*44*/)))/*)*/);
  677. /*[IRF3.6append*/{T0* b1=((T0*)ms10_583);
  678. r7append(((T7*)(oBC683explanation)),b1);
  679. }/*]*/
  680. /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
  681. r683fatal_error(((T683*)(oBC364eh)),b1);
  682. }/*]*/
  683. /*]*/
  684. }
  685. /*FI*/}
  686. /*No:CREATION_CLAUSE.comment*/
  687. int r583has(T583* C,T0* a1){
  688. int R=0;
  689. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
  690. R=r953has(((T953*)((((T583*)C))->_procedure_list/*12*/)),a1);
  691. }
  692. /*FI*/return R;
  693. }
  694. T0* r583expanded_initializer(T583* C,T0* a1){
  695. T0* R=NULL;
  696. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
  697. R=r368get_feature(((T368*)(X291run_class(a1))),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
  698. if(NULL!=(R))switch(((T0*)R)->id) {
  699. case 845: 
  700. break;
  701. default:
  702. R=NULL;
  703. };}
  704. /*FI*/return R;
  705. }
  706. /*No:CREATION_CLAUSE.fz_cbe*/
  707. /*No:CREATION_CLAUSE.clients*/
  708. /*No:CREATION_CLAUSE.fatal_error_vtec_2*/
  709. /*No:CREATION_CLAUSE.fatal_error*/
  710. /*No:CREATION_CLAUSE.procedure_list*/
  711. void r490short(T490* C){
  712. char _c=0;
  713. int _i=0;
  714. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_490));
  715. _i=1;
  716. while (!((_i)>((((T7*)((T7*)((((T490*)C))->_to_string/*0*/))))->_count/*4*/))) {
  717. _c=/*(IRF4.6item*/((((T7*)((T7*)((((T490*)C))->_to_string/*0*/))))->_storage/*0*/)[(_i)-(1)]/*)*/;
  718. /*IF*/if ((_c)==('\137')) {
  719. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_490),((T0*)ms3_490));
  720. }
  721. else {
  722. /*[IRF3.6a_character*/{char b1=_c;
  723. /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output));
  724. char c1=b1;
  725. putc(c1,((FILE*)(stdout)));
  726. }/*]*/
  727. }/*]*/
  728. }
  729. /*FI*/_i=(_i)+(1);
  730. }
  731. r580hook(((T580*)(oBC364short_print)),((T0*)ms4_490));
  732. }
  733. void r490make(T490* C,T0* a1,T0* a2){
  734. C->_to_string=r902item(a1);
  735. C->_start_position=a2;
  736. }
  737. /*No:TAG_NAME.to_string*/
  738. /*No:TAG_NAME.start_position*/
  739. /*No:RUN_FEATURE_2.arguments*/
  740. /*No:RUN_FEATURE_2.actuals_clients*/
  741. void r820make(T820* C,T0* a1,T0* a2,T0* a3){
  742. C->_current_type=a1;
  743. C->_name=a2;
  744. C->_base_feature=a3;
  745. r199put(((T199*)((((T368*)((T368*)(r820run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  746. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  747. C->_use_current_state=1015;
  748. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  749. r820initialize(C);
  750. r604pop(((T604*)(oBC364small_eiffel)));
  751. }
  752. /*No:RUN_FEATURE_2.name*/
  753. int r820arg_count(T820* C){
  754. int R=0;
  755. /*IF*/if (((((T820*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  756. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T820*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  757. }
  758. /*FI*/return R;
  759. }
  760. /*No:RUN_FEATURE_2.local_vars*/
  761. /*No:RUN_FEATURE_2.base_feature*/
  762. /*No:RUN_FEATURE_2.start_position*/
  763. /*No:RUN_FEATURE_2.ensure_assertion*/
  764. int r820is_exported_in(T820* C,T0* a1){
  765. int R=0;
  766. R=r636gives_permission_to(((T636*)(r820clients(C))),a1);
  767. return R;
  768. }
  769. /*No:RUN_FEATURE_2.result_type*/
  770. void r820add_client(T820* C,T0* a1){
  771. int _i=0;
  772. /*IF*/if (((((T820*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  773. {T187*n=malloc(sizeof(*n));
  774. *n=M187;
  775. r187with_capacity(n,4);
  776. C->_actuals_clients=(T0*)n;
  777. }
  778. r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
  779. }
  780. else {
  781. _i=r187fast_index_of(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
  782. /*IF*/if ((_i)>((((T187*)((T187*)((((T820*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  783. r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
  784. }
  785. /*FI*/}
  786. /*FI*/r368add_client(((T368*)(r820run_class(C))),a1);
  787. }
  788. /*No:RUN_FEATURE_2.require_assertion*/
  789. /*No:RUN_FEATURE_2.use_current_state*/
  790. /*No:RUN_FEATURE_2.current_type*/
  791. T0* r820run_class(T820* C){
  792. T0* R=NULL;
  793. R=X291run_class((((T820*)C))->_current_type/*4*/);
  794. return R;
  795. }
  796. /*No:RUN_FEATURE_2.ucs_not_computed*/
  797. T0* r820clients(T820* C){
  798. T0* R=NULL;
  799. T0* _bfbc=NULL;
  800. T0* _bc=NULL;
  801. /*IF*/if (((((T820*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  802. _bc=X291base_class((((T820*)C))->_current_type/*4*/);
  803. _bfbc=(((T106*)((T106*)((((T820*)C))->_base_feature/*40*/))))->_base_class/*4*/;
  804. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  805. R=(((T106*)((T106*)((((T820*)C))->_base_feature/*40*/))))->_clients/*20*/;
  806. }
  807. else {
  808. R=r605clients_for(((T605*)_bc),(((T820*)C))->_name/*16*/);
  809. }
  810. /*FI*/C->_clients_memory=R;
  811. }
  812. else {
  813. R=(((T820*)C))->_clients_memory/*8*/;
  814. }
  815. /*FI*/return R;
  816. }
  817. /*No:RUN_FEATURE_2.clients_memory*/
  818. void r820initialize(T820* C){
  819. C->_result_type=X291to_runnable((((T106*)((T106*)((((T820*)C))->_base_feature/*40*/))))->_result_type/*12*/,(((T820*)C))->_current_type/*4*/);
  820. }
  821. /*No:CALL_1_C.arguments*/
  822. void r492short(T492* C){
  823. X662short_target((((T492*)C))->_target/*8*/);
  824. X776short((((T492*)C))->_feature_name/*12*/);
  825. X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T492*)C))->_arguments/*24*/)))/*)*/);
  826. }
  827. T0* r492add_comment(T492* C,T0* a1){
  828. T0* R=NULL;
  829. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  830. R=(T0*)C;
  831. }
  832. else {
  833. {T529*n=malloc(sizeof(*n));
  834. *n=M529;
  835. r529make(n,(T0*)C,a1);
  836. R=(T0*)n;
  837. }
  838. }
  839. /*FI*/return R;
  840. }
  841. int r492to_integer(T492* C){
  842. int R=0;
  843. r492error(r492start_position(C),((T0*)ms69_470));
  844. return R;
  845. }
  846. void r492bracketed_short(T492* C){
  847. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  848. r492short(C);
  849. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  850. }
  851. int r492is_a(T492* C,T0* a1){
  852. int R=0;
  853. R=X291is_a(X291run_type((((T492*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  854. /*IF*/if (!(R)) {
  855. r683add_position(r492start_position(C));
  856. r492error(X662start_position(a1),((T0*)ms4_662));
  857. }
  858. /*FI*/return R;
  859. }
  860. /*No:CALL_1_C.is_current*/
  861. void r492make(T492* C,T0* a1,T0* a2,T0* a3){
  862. C->_target=a1;
  863. C->_feature_name=a2;
  864. C->_arguments=a3;
  865. }
  866. /*No:CALL_1_C.nb_errors*/
  867. /*No:CALL_1_C.feature_name*/
  868. /*No:CALL_1_C.fz_iinaiv*/
  869. /*No:CALL_1_C.dot_precedence*/
  870. /*No:CALL_1_C.run_feature*/
  871. T0* r492start_position(T492* C){
  872. T0* R=NULL;
  873. R=X776start_position((((T492*)C))->_feature_name/*12*/);
  874. return R;
  875. }
  876. /*No:CALL_1_C.target*/
  877. /*No:CALL_1_C.precedence*/
  878. T0* r492to_runnable(T492* C,T0* a1){
  879. T0* R=NULL;
  880. T0* _tla=NULL;
  881. T0* _a=NULL;
  882. /*IF*/if (((((T492*)C))->_current_type/*4*/)==((void*)(NULL))) {
  883. r492to_runnable_0(C,a1);
  884. _a=r431to_runnable(((T431*)((((T492*)C))->_arguments/*24*/)),a1);
  885. /*IF*/if ((_a)==((void*)(NULL))) {
  886. r492error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T492*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470));
  887. }
  888. else {
  889. C->_arguments=_a;
  890. }
  891. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  892. r431match_with(((T431*)((((T492*)C))->_arguments/*24*/)),(((T492*)C))->_run_feature/*16*/);
  893. }
  894. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  895. _tla=(((T492*)C))->_result_type/*20*/;
  896. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  897. case 239: 
  898. break;
  899. default:
  900. _tla=NULL;
  901. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  902. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T492*)C))->_arguments/*24*/)))/*)*/));
  903. }
  904. /*FI*/}
  905. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  906. R=(T0*)C;
  907. }
  908. /*FI*/}
  909. else {
  910. R=r492twin(C);
  911. /*[IRF3.3set_current_type*/((((T492*)(((T492*)R))))->_current_type)=(NULL);
  912. /*]*/
  913. R=r492to_runnable(((T492*)R),a1);
  914. }
  915. /*FI*/return R;
  916. }
  917. /*No:CALL_1_C.result_type*/
  918. T0* r492twin(T492* C){
  919. T0* R=NULL;
  920. R=malloc(sizeof(*C));
  921. *((T492*)R)=*C;
  922. return R;
  923. }
  924. /*No:CALL_1_C.set_current_type*/
  925. /*No:CALL_1_C.current_type*/
  926. /*No:CALL_1_C.is_manifest_string*/
  927. /*No:CALL_1_C.is_void*/
  928. void r492to_runnable_0(T492* C,T0* a1){
  929. C->_current_type=a1;
  930. r492cpc_to_runnable(C,a1);
  931. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T492*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  932. /*IF*/if (((((T492*)C))->_result_type/*20*/)==((void*)(NULL))) {
  933. r683add_position(X496start_position((((T492*)C))->_run_feature/*16*/));
  934. r492error(X776start_position((((T492*)C))->_feature_name/*12*/),((T0*)ms1_295));
  935. }
  936.  else if (X291is_like_current((((T492*)C))->_result_type/*20*/)) {
  937. C->_result_type=X662result_type((((T492*)C))->_target/*8*/);
  938. }
  939. /*FI*/}
  940. void r492cpc_to_runnable(T492* C,T0* a1){
  941. T0* _rc=NULL;
  942. T0* _t=NULL;
  943. _t=X662to_runnable((((T492*)C))->_target/*8*/,a1);
  944. /*IF*/if ((_t)==((void*)(NULL))) {
  945. r683add_position(X662start_position((((T492*)C))->_target/*8*/));
  946. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  947. r683fatal_error(((T683*)(oBC364eh)),b1);
  948. }/*]*/
  949. }
  950. /*FI*/C->_target=_t;
  951. _rc=X291run_class(X662result_type((((T492*)C))->_target/*8*/));
  952. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  953. r576update((((T492*)C))->_target/*8*/,(((T492*)C))->_run_feature/*16*/);
  954. }
  955. void r492error(T0* a1,T0* a2){
  956. r683add_position(a1);
  957. r683error(((T683*)(oBC364eh)),a2);
  958. }
  959. /*No:CALL_1_C.fatal_error*/
  960. /*No:CALL_1_C.fz_bad_argument*/
  961. void r492short_target(T492* C){
  962. r492short(C);
  963. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  964. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  965. }/*]*/
  966. }
  967. /*No:CALL_1_C.arg1*/
  968. T0* r126add_comment(T126* C,T0* a1){
  969. T0* R=NULL;
  970. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  971. R=(T0*)C;
  972. }
  973. /*AF*/else {
  974. {T59*n=malloc(sizeof(*n));
  975. *n=M59;
  976. r59make(n,(T0*)C,a1);
  977. R=(T0*)n;
  978. }
  979. }
  980. /*FI*/return R;
  981. }
  982. void r126make(T126* C,T0* a1,T0* a2){
  983. C->_left_side=a1;
  984. C->_right_side=a2;
  985. }
  986. /*No:REVERSE_ASSIGNMENT.nb_errors*/
  987. T0* r126start_position(T126* C){
  988. T0* R=NULL;
  989. R=X662start_position((((T126*)C))->_left_side/*8*/);
  990. return R;
  991. }
  992. T0* r126to_runnable(T126* C,T0* a1){
  993. T0* R=NULL;
  994. T0* _e=NULL;
  995. /*IF*/if (((((T126*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  996. C->_run_compound=a1;
  997. _e=X662to_runnable((((T126*)C))->_left_side/*8*/,r126current_type(C));
  998. /*IF*/if ((_e)==((void*)(NULL))) {
  999. r126error(X662start_position((((T126*)C))->_left_side/*8*/),((T0*)ms62_470));
  1000. }
  1001. else {
  1002. C->_left_side=_e;
  1003. }
  1004. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1005. _e=X662to_runnable((((T126*)C))->_right_side/*12*/,r126current_type(C));
  1006. /*IF*/if ((_e)==((void*)(NULL))) {
  1007. r126error(X662start_position((((T126*)C))->_right_side/*12*/),((T0*)ms63_470));
  1008. }
  1009. else {
  1010. C->_right_side=_e;
  1011. }
  1012. /*FI*/}
  1013. /*FI*//*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&(X291is_a(X291run_type(r126right_type(C)),X291run_type(r126left_type(C))))) {
  1014. /*IF*/if ((!(X662is_current((((T126*)C))->_right_side/*12*/)))&&(!(X291is_like_current(r126left_type(C))))) {
  1015. r683add_type(r126right_type(C),((T0*)ms12_126));
  1016. r683add_type(r126left_type(C),((T0*)ms13_126));
  1017. r126warning(r126start_position(C),((T0*)ms14_126));
  1018. }
  1019. /*FI*/}
  1020. /*FI*//*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  1021. /*]*/
  1022. r51clear(((T51*)(oBC683positions)));
  1023. /*]*/
  1024. /*IF*/if (!(X291is_reference(X291run_type(r126left_type(C))))) {
  1025. r683add_type(X291run_type(r126left_type(C)),((T0*)ms15_126));
  1026. r126error(r126start_position(C),((T0*)ms16_126));
  1027. }
  1028. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1029. R=(T0*)C;
  1030. }
  1031. /*FI*/}
  1032. else {
  1033. {T126*n=malloc(sizeof(*n));
  1034. *n=M126;
  1035. r126make(n,(((T126*)C))->_left_side/*8*/,(((T126*)C))->_right_side/*12*/);
  1036. R=(T0*)n;
  1037. }
  1038. R=r126to_runnable(((T126*)R),a1);
  1039. }
  1040. /*FI*/return R;
  1041. }
  1042. T0* r126right_type(T126* C){
  1043. T0* R=NULL;
  1044. R=X662result_type((((T126*)C))->_right_side/*12*/);
  1045. return R;
  1046. }
  1047. /*No:REVERSE_ASSIGNMENT.left_side*/
  1048. T0* r126current_type(T126* C){
  1049. T0* R=NULL;
  1050. /*IF*/if (((((T126*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  1051. R=(((T592*)((T592*)((((T126*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  1052. }
  1053. /*FI*/return R;
  1054. }
  1055. /*No:REVERSE_ASSIGNMENT.run_compound*/
  1056. /*No:REVERSE_ASSIGNMENT.right_side*/
  1057. /*No:REVERSE_ASSIGNMENT.fz_blhsoa*/
  1058. /*No:REVERSE_ASSIGNMENT.fz_brhsoa*/
  1059. void r126error(T0* a1,T0* a2){
  1060. r683add_position(a1);
  1061. r683error(((T683*)(oBC364eh)),a2);
  1062. }
  1063. /*No:REVERSE_ASSIGNMENT.end_mark_comment*/
  1064. T0* r126left_type(T126* C){
  1065. T0* R=NULL;
  1066. R=X662result_type((((T126*)C))->_left_side/*8*/);
  1067. return R;
  1068. }
  1069. void r126warning(T0* a1,T0* a2){
  1070. r683add_position(a1);
  1071. r683warning(((T683*)(oBC364eh)),a2);
  1072. }
  1073. int r542affect(T542* C,T0* a1){
  1074. int R=0;
  1075. /*IF*/if (/*(IRF4.7for_all*/((((T542*)C))->_list/*4*/)==(NULL)/*)*/) {
  1076. R=1;
  1077. }
  1078. else {
  1079. R=r953has(((T953*)((((T542*)C))->_list/*4*/)),a1);
  1080. }
  1081. /*FI*/return R;
  1082. }
  1083. void r542make_all(T542* C,T0* a1){
  1084. C->_clients=a1;
  1085. C->_list=NULL;
  1086. }
  1087. void r542make(T542* C,T0* a1,T0* a2){
  1088. C->_clients=a1;
  1089. {T953*n=malloc(sizeof(*n));
  1090. *n=M953;
  1091. r953make(n,a2);
  1092. C->_list=(T0*)n;
  1093. }
  1094. }
  1095. /*No:EXPORT_ITEM.list*/
  1096. /*No:EXPORT_ITEM.clients*/
  1097. /*No:EXPORT_ITEM.for_all*/
  1098.  
  1099.